<template>
    <div>
      <a-card class="info" title="框架合同管理">
        <template slot="extra">
          <!--<template v-if="model.bpmStatus==='1'">
          <a-button
              class="ruleButton"
              :ghost="true"
              type="primary"
              icon="edit"
              @click="handleEdit(model)"
              :disabled="isDisabledAuth('erpOmcContractManager:edit')"
          />
          <a-divider type="vertical"/>
          <a-button type="primary" size="small" @click="startProcess(model)"
                    :disabled="isDisabledAuth('erpOmcContractManager:startProcess')">发起流程
          </a-button>
        </template>
        <template v-if="showBtn(model.bpmStatus)&& doCount > 0">
          <span v-if="model.taskUrge">
            <a-icon title="催办提醒" theme="twoTone" twoToneColor="#eb2f96"
                    @click="taskNotifyMe(flowCode,model.id)" type="notification"/>
            <a-divider type="vertical"/>
          </span>
  
          <a-button type="primary" size="small" @click="handleProcess(model)">办理</a-button>
          <a-divider type="vertical"/>
        </template>
        <template v-if="myCount > 0 && showBtn(model.bpmStatus)">
          <a-button type="primary" size="small" @click="taskNotify(flowCode,model.id)">催办</a-button>
          <a-divider type="vertical"/>
          <a-popconfirm title="确定要作废吗?" @confirm="() => invalidProcess(model)">
            <a-button type="primary" size="small" :disabled="isDisabledAuth('erpOmcContractManager:invalidProcess')">
              作废流程
            </a-button>
          </a-popconfirm>
          <a-divider type="vertical"/>
        </template>-->
          <template v-if="model.bpmStatus !== '1'">
            <a-button
              type="primary"
              size="small"
              @click="handleTrack(model)"
              :disabled="isDisabledAuth('erpOmcContractManager:viewTrack')">审批进度
            </a-button>
          </template>
        </template>
        <!--<biz-his-task-module ref="bizHisTask" :formData="formData">-->
  
        <a-row type="flex" justify="center">
          <a-col :span="24">
            <template v-if="model.htlx == 3">
              <!-- <erp-omc-contract-manager-form ref="realForm" :disabled="true" normal></erp-omc-contract-manager-form> -->
              <ContractApplicationListDetailForm ref="realForm" :disabled="true" normal></ContractApplicationListDetailForm>
            </template>
            <!-- <template v-if="model.htlx == 3">
              <erp-omc-pay-contract-manager-form ref="realForm" :disabled="true" normal></erp-omc-pay-contract-manager-form>
            </template> -->
            <!-- 流程历史跟踪 -->
            <common-flow-list v-if="model.bpmStatus !== '1'" :formData="formData"></common-flow-list>
          </a-col>
        </a-row>
        <!--</biz-his-task-module>-->
        <erp-omc-contract-manager-modal ref="modalForm" @ok="modalFormOk"></erp-omc-contract-manager-modal>
        <bpm-biz-task-deal-modal
          ref="taskDealModal"
          :path="path"
          :formData="formData"
          @ok="handleOk"></bpm-biz-task-deal-modal>
        <bpm-process-track-modal ref="bpmProcessTrackModal"></bpm-process-track-modal>
        <biz-task-notify-modal ref="taskNotifyModal"></biz-task-notify-modal>
        <biz-task-notify-me-modal ref="taskNotifyMeModal"></biz-task-notify-me-modal>
      </a-card>
  
      <div style="text-align: center;margin-top: 15px;">
        <a-button v-print="'#printContent'" type="primary">打印</a-button>
      </div>
      <template v-if="model.htlx == 1">
      <ErpOmcContractManagerFormPrint class="print_style" id="printContent" :formData="model" :formDataHistory="formData"></ErpOmcContractManagerFormPrint>
      </template>
      <template v-if="model.htlx == 2">
      <ErpOmcPayContractManagerFormPrint class="print_style" id="printContent" :formData="model" :formDataHistory="formData"></ErpOmcPayContractManagerFormPrint>
      </template>
      <template v-if="model.htlx == 3">
      <ErpOmcFrameworkContractPlanFormPrint class="print_style" id="printContent" :formData="model" :formDataHistory="formData"></ErpOmcFrameworkContractPlanFormPrint>
      </template>
    </div>
  </template>
  
  <script>
  
  import { getAction } from '@/api/manage'
  import { JeecgBpmListMixin } from '@/mixins/JeecgBpmListMixin'
  import BizHisTaskModule from '@/views/modules/bpmbiz/common/BizHisTaskModule.vue';
  import BpmBizTaskDealModal from '@/views/modules/bpmbiz/common/BpmBizTaskDealModal.vue';
  import BpmProcessTrackModal from '@/views/modules/bpmbiz/common/BpmProcessTrackModal.vue';
  import BizTaskNotifyModal from '@/views/modules/bpmbiz/common/BizTaskNotifyModal.vue';
  import BizTaskNotifyMeModal from '@/views/modules/bpmbiz/common/BizTaskNotifyMeModal.vue';
  import ErpOmcContractManagerForm from './modules/ErpOmcContractManagerForm'
  import ContractApplicationListDetailForm from './modules/ContractApplicationListDetailForm'
  import ErpOmcPayContractManagerForm from './modules/ErpOmcPayContractManagerForm'
  import ErpOmcContractManagerFormPrint from './modules/ErpOmcContractManagerFormPrint' // 打印
  import ErpOmcPayContractManagerFormPrint from './modules/ErpOmcPayContractManagerFormPrint' // 打印
  import ErpOmcFrameworkContractPlanFormPrint from '@/views/erp/omc/contractmanager/modules/ErpOmcFrameworkContractPlanFormPrint.vue' // 打印

  import ErpOmcContractManagerModal from './modules/ErpOmcContractManagerModal'
  import { DisabledAuthFilterMixin } from '@/mixins/DisabledAuthFilterMixin'
  import CommonFlowList from '@/views/components/CommonFlowList.vue' // 审批历史流程列表组件
  
  export default {
    name: 'ErpOmcFrameworkContractApplicationListDetail',
    mixins: [JeecgBpmListMixin, DisabledAuthFilterMixin],
    components: {
      ErpOmcContractManagerForm,
      ErpOmcPayContractManagerForm,
      ErpOmcContractManagerModal,
      BizHisTaskModule,
      ContractApplicationListDetailForm,
      BpmBizTaskDealModal,
      BpmProcessTrackModal,
      BizTaskNotifyModal,
      BizTaskNotifyMeModal,
      CommonFlowList,
      ErpOmcContractManagerFormPrint,
      ErpOmcFrameworkContractPlanFormPrint,
      ErpOmcPayContractManagerFormPrint
    },
    data() {
      return {
        model: {},
        id: '',
        url: {
          queryById: '/api/erp/omc/contractmanager/erpOmcContractManager/queryById',
          delete: '/api/erp/omc/contractmanager/erpOmcContractManager/delete',
          bizCount: '/api/erp/omc/contractmanager/erpOmcContractManager/bizCount'
        },
        confirmLoading: false,
        iconStyle: { 'font-size': '20px' },
        // 代码生成后需手动设置流程编码
        // flowCode: 'dev_erp_omc_contract_manager_001',
        // formUrl: 'erp/omc/contractmanager/modules/ErpOmcContractManagerForm',
        // formUrlMobile: ''
        flowCode: 'dev_erp_omc_contract_manager_004', 
        formUrl: 'erp/omc/contractmanager/ErpOmcContractApplicationForm',
        formUrlMobile: '/pages/synergy/ErpOmcContractApplicationList',
        dictOptions: {},
        beanName: 'ErpFrameworkContractFlow',
      }
    },
    created() {
        console.log(this.model,'this.model');
        
    },
    watch: {
      $route(to, from) {
        this.loadData();
      }
    },
    mounted() {
    },
    methods: {

      handleTrack(record) {
        console.log(record,'handleTrack-------');
        if(record.lx === 1){
          var params = { flowCode: 'dev_erp_omc_contract_manager_004', dataId: record.id };// 查询条件
          this.$refs.bpmProcessTrackModal.handleTrack(params);
          this.$refs.bpmProcessTrackModal.title = '审批跟踪记录';
        }
        if(record.lx === 2){
          var params = { flowCode: 'dev_erp_omc_contract_manager_005', dataId: record.id };// 查询条件
          this.$refs.bpmProcessTrackModal.handleTrack(params);
          this.$refs.bpmProcessTrackModal.title = '审批跟踪记录';
        }
    },
      loadData() {
        const id = this.$route.params.id;
        getAction(this.url.queryById, { id }).then((res) => {
          if (res.success) {
            const model = res.result
            if (model.htlx == 1) {
              this.flowCode = 'dev_erp_omc_contract_manager_001'
              this.formUrl = 'erp/omc/contractmanager/modules/ErpOmcContractManagerForm'
            } else {
              this.flowCode = 'dev_erp_omc_contract_manager_003'
              this.formUrl = 'erp/omc/contractmanager/modules/ErpOmcPayContractManagerForm'
            }
            this.model = model;
            
            this.$nextTick(() => {
              this.$refs.realForm.detailFlag = true
              this.$refs.realForm.edit(model);
            })
            
            // 查询催办
            let params1 = { flowCode: this.flowCode, dataId: id };// 查询条件
            getAction(this.url.checkNotify, params1).then((res2) => {
              if (res2.result) {
                this.model.taskUrge = true;
              }
            })
            // 查询流程
            let params = { flowCode: this.flowCode, dataId: this.model.id };// 查询条件
            this.viewTrack(params);
          }
        })
        this.bizCountById(id);
      }
    }
  }
  </script>
  <style lang="less" scoped>
  @import '~@assets/less/common.less';
  
  .info {
    /deep/ .ant-card-head-title {
      flex: none;
      margin-right: 20px;
    }
  
    /deep/ .ant-card-extra {
      flex: 1;
      float: left;
    }
  }
  .print_style{
    position: absolute;
    top: 0;
    z-index: -1111;
  }
  </style>
  <style>
    @import "../../../../utils/print.css";
  </style>
  